草庐IT

Java for 循环性能

全部标签

具有键值的 C# foreach 循环

在PHP中,我可以使用foreach循环,这样我就可以访问键和值,例如:foreach($arrayas$key=>$value)我有以下代码:Regexregex=newRegex(pattern);MatchCollectionmc=regex.Matches(haystack);for(inti=0;imatch=newDictionary();for(intj=0;j在//here我想match.add(key,value)但我不知道如何从GroupCollection中获取key,它在这种情况应该是捕获组的名称。我知道gc["goupName"].Value包含匹配的值。

c# - 命名空间的数量会影响性能吗?

在VisualStudio中有一个命令可以删除未使用的using语句usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data;usingSystem.Drawing;usingSystem.IO;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;未使用的using是否会影响性能? 最佳答案 代码文件中使用

c# - 我的 C# 项目中的循环引用

我有以下情况:一个项目MyCompany.MyProject.Domain,其中包含我的域模型和部分类(例如Contact)。我想“扩展”(通过分部类,而不是扩展方法)我的Contact类有一个属性Slug,它将给我一个简单的URL友好名字和姓氏的文本表示。我的Utility项目MyCompany.MyProject.Utilities中有一个字符串扩展方法ToSlug(),它完全符合我的要求想要2).问题:我的Utility项目已经在引用我的Domain项目,这意味着我无法获取Domain项目查看Utility项目的ToSlug()方法,而不会导致循环引用。我并不热衷于创建另一个项目

c# - 建议在 Entity Framework 4 中使用临时表或表变量。更新性能 Entity Framework

我需要更新表中的一个位字段,并针对该表中的特定ID列表将此字段设置为true。Id是从外部进程传入的。我想在纯SQL中,最有效的方法是创建一个临时表并用ID填充它,然后用它连接主表并相应地设置位字段。我可以创建一个SPROC来获取ID,但可能涉及200-300,000行需要设置此标志,因此这可能不是最有效的方法。使用IN语句对可以传递的数据量和性能有限制。如何使用EntityFramework实现上述目标我想可以创建一个SPROC来创建一个临时表,但从模型的角度来看,这是不存在的。有没有办法在运行时动态添加实体。[或者这种方法只会引起头痛]。虽然用300,000行填充一个临时表并进行连

c# - NewtonSoft Json 序列化器性能

我有一个对象,我正在使用NewtonSoftJson.Net将其序列化为Json。对象比较大,生成的Json约300kb,但序列化过程耗时60秒左右。要序列化的对象只是普通的POCO。我使用的代码是stringjson=Newtonsoft.Json.JsonConvert.SerializeObject(data,Formatting.Indented);有什么可以加速序列化,添加属性等吗编辑:我刚刚使用ServiceStack.TextJson序列化程序进行了测试,这需要48秒,仍然很慢。[Serializable]publicclassAppointmentItemViewMod

c# - 与 Dictionary 相比,SortedDictionary 的性能出乎意料地差

我不明白为什么SortedDictionary的性能在设置和检索值方面比Dictionary慢大约5倍。我预计插入和删除会更慢,但不会更新或检索。我已经测试了.Net3.5和.Net4.0版本的编译代码。预先计算了一组随secret钥,以确保随机变化不会导致随机访问的差异。以下是经过测试的场景。使用[key]访问器顺序更新每个值使用[key]访问器顺序访问每个值使用TryGetValue顺序访问每个值使用[key]访问器随机访问每个值使用TryGetValue随机访问每个值有人知道性能差异的原因吗?如果我做错了什么或愚蠢的事情请指出。示例代码:只需将Dictionary切换为Sorte

c# - ninject 的循环依赖

我正在尝试找出如何使用ninject绑定(bind)这样的东西的正确方法。interfaceIMainService{voidDoStuff();}interfaceIOtherService{voidDoSomeMagic();}abstractclassBaseClass{//manystuffhere}classMainClass:BaseClass,IMainService{publicMainClass(IOtherServices){}publicvoidDoStuff(){thrownewNotImplementedException();}//domanyotherth

c# - 为什么 Enumerable.Range 比直接 yield 循环更快?

下面的代码正在检查执行相同解决方案的三种不同方法的性能。publicstaticvoidMain(string[]args){//forloop{Stopwatchsw=Stopwatch.StartNew();intaccumulator=0;for(inti=1;iaccumulator+n);sw.Stop();Console.WriteLine("time={0};result={1}",sw.ElapsedMilliseconds,ret);}//self-madeIEnumerable{Stopwatchsw=Stopwatch.StartNew();varret=GetI

c# - 在 foreach 循环内的开关嵌套中使用 `continue` 关键字

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有下面的代码(实际上比你看到的要长得多!)foreach(SensorPairsensorin_sensorPairs){sensorByte=(byte)sensor.Sensor;if(!packet.Contains(sensorByte))continue;index=packet.IndexOf(sensorByte);byteCount=se

c# - 测量 ASP.NET MVC 3 的性能

我在ASP.NETMVC3中构建了一个JSON服务,我希望能够测量应用程序中操作的执行时间(我希望它自动记录缓慢的操作)。因此这看起来很棒;http://coderjournal.com/2010/10/timing-the-execution-time-of-your-mvc-actions/(在堆栈溢出的地方也提到过)问题是我从这种方法中得到的测量值肯定是错误的;我添加了另一个秒表,它会在Action的第一件事开始并在返回之前停止。例子:方法里面的秒表=>10ms(这里省略了序列化成json的过程,所以可以理解比实际要短)秒表属性(上面的代码)=>676msFirefox说请求耗时